Language Serverを自作したい
#作成ネタ
from Language Server
自作
Language Server Extension Guide | Visual Studio Code Extension API
VSCodeのための言語サーバーを作るためのガイド
VSCode Extensionのサンプル
vscode-extension-samples/lsp-sample at master · microsoft/vscode-extension-samples
$ cd lsp-sample
$ npm i
$ npm run compile
$ code .
試す
touch barの▷押して、上のサイトの「TypeScript lets you write ~」の文章をコピペすれば、おかしいところに波線が入る
デバッグする
ログを取ってここにアップロードすると視覚的に見ることが出来る
わからないこと
クライアント側を作る方法
go to definitionとか位置機能ごとに作らないといけない?
サーバー側を作る方法
どうやってJavaのサーバーとかをインストールする?
言語ごとにLanguageSeverインターフェースが用意されている
(当たり前だが、誰かがすでに作ってくれていたら)
そのインターフェースに沿ってメソッドとかを実装していけばいい
一覧とかに書いている言語サーバーはあくまでもサーバーとしての機能やLSPに則ったインターフェースを提供してくれているだけで、各機能は他のライブラリで実装していく感じなのかな
そんなわけないか
memo
クライアント用のpackage.jsonはrootではなく、client/に置く
serverの設定?はserver/server.tsに書いている
LSP4JでLanguage Server Protocol入門 - Qiita
VSCodeとJavaの言語サーバーを用いて、クライントとサーバー側のコードを書いてCompletionなどを実装する
実装してみた系の記事
https://qiita.com/zacky_s/items/64414d6a17d0b0aa795b#_reference-13b9061aadf61388a2d7
https://qiita.com/vain0x/items/d050fe7c8b342ed2004e#_reference-a5e1c1658f719e7db952
https://solist.work/blog/posts/language-server-protocol/
https://matarillo.hateblo.jp/entry/2017/06/10/043217
https://qiita.com/minebreaker/items/c53e4dddb0709492d362
https://qiita.com/lighttiger2505/items/5782debc59ae163a4d81
SQL Language serverを作った話
https://labs.septeni.co.jp/entry/2020/06/24/142050
https://tennashi.hatenablog.com/entry/2020/08/01/201225
https://zenn.dev/takl/books/0fe11c6e177223